package br.gov.mi.corporativo.dominio.boundary.comum.ufdadosexternos;

import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.UfDadosExternos;
import br.gov.mi.corporativo.dominio.repositorio.comum.UfDadosExternosRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.ufdadosexternos.UfDadosExternosEndPoint")
public class UfDadosExternosServico extends
CrudServicoImpl<UfDadosExternos, Long, UfDadosExternosRepositorio>
implements UfDadosExternosEndPoint {

	@Autowired
	public void setRepositorio(UfDadosExternosRepositorio repositorio) {
		super.setRepositorio(repositorio);
	}

	public List<UfDadosExternos> recuperarPorAno(Long ano) {
		return repositorio.findByNrAno(ano);
	}

	public List<UfDadosExternos> recuperarPorPopulacao(Long populacao) {
		return repositorio.findByNrPopulacao(populacao);
	}

	public List<UfDadosExternos> recuperarPorPopulacaoAssalariada(
			Long populacaoAssalariada) {
		return repositorio.findByNrPopulacaoAssalariada(populacaoAssalariada);
	}

	public List<UfDadosExternos> recuperarPorPopulacaoOcupada(
			Long populacaoOcupada) {
		return repositorio.findByNrPopulacaoOcupada(populacaoOcupada);
	}

	public List<UfDadosExternos> recuperarPorUnidade(Long unidade) {
		return repositorio.findByNrUnidades(unidade);
	}

	public List<UfDadosExternos> recuperarPorUf(Long uf) {
		return repositorio.findByUf(uf);
	}

	public List<UfDadosExternos> recuperarPorValorAgroIndustria(
			Long valorAgroIndustria) {
		return repositorio.findByVlAgroindustria(valorAgroIndustria);
	}


}
